Skip to content

Reuse installed packages for exact snapshot resets - #177

Merged
jezdez merged 8 commits into
mainfrom
fix/issue-150-snapshot-artifacts
Sep 9, 2026
Merged

Reuse installed packages for exact snapshot resets#177
jezdez merged 8 commits into
mainfrom
fix/issue-150-snapshot-artifacts

Conversation

@jezdez

@jezdez jezdez commented Sep 4, 2026

Copy link
Copy Markdown
Member

Description

conda self reset --snapshot installer-exact can fail when a recorded package URL disappears, even when the matching conda package remains installed.

Exact resets now reuse installed packages whose URLs and recorded checksums match the snapshot. Conda prepares the remaining packages in a package cache, including noarch: python packages that need relinking after a Python version change. Local package archives are checked against recorded checksums. If preparation fails, reset reports the affected packages without exposing package URLs or credentials and leaves the target environment unchanged.

The old --snapshot installer spelling now stops before confirmation or environment changes and explains both replacements. installer-exact restores the recorded packages. installer-updated retains currently installed installer packages, conda plugins, and permanent packages with their dependencies, without updating or installing missing packages.

Reset output respects --json and --quiet.

The broader CLI wording, documentation, and demo updates are in #181.

Closes #150

Checklist - did you ...

  • Add a file to the news directory (using the template) for the next release's release notes?
  • Add / update necessary tests?
  • Add / update outdated documentation?

@github-project-automation github-project-automation Bot moved this to 🆕 New in 🔎 Review Sep 4, 2026
@jezdez
jezdez force-pushed the fix/issue-150-snapshot-artifacts branch 4 times, most recently from 0b4acf4 to cd5b586 Compare September 4, 2026 17:01
@jezdez jezdez mentioned this pull request Sep 4, 2026
3 tasks
@jezdez
jezdez force-pushed the fix/issue-150-snapshot-artifacts branch from 303966a to 009ade6 Compare September 7, 2026 09:40
@jezdez jezdez added this to the 0.3.0 milestone Sep 7, 2026
@jezdez jezdez mentioned this pull request Sep 7, 2026
14 tasks
@jezdez
jezdez marked this pull request as ready for review September 7, 2026 11:15
@jezdez
jezdez requested a review from a team as a code owner September 7, 2026 11:15

@travishathaway travishathaway left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a sound approach. I feel like this is also new enough that making these changes won't be very impactful to users.

One thing I realized while review this pull request is that we don't have a way to easily inspect test coverage. That's why I created #183.

@github-project-automation github-project-automation Bot moved this from 🆕 New to ✅ Approved in 🔎 Review Sep 9, 2026
@jezdez
jezdez merged commit 568cca8 into main Sep 9, 2026
26 checks passed
@github-project-automation github-project-automation Bot moved this from ✅ Approved to 🏁 Done in 🔎 Review Sep 9, 2026
@jezdez
jezdez deleted the fix/issue-150-snapshot-artifacts branch September 9, 2026 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 🏁 Done

Development

Successfully merging this pull request may close these issues.

conda self reset can fail when a snapshot artifact disappears from its channel

3 participants